Puddle = {}

function function_4(param0)
	myvar_1,myvar_2,myvar_3 = nWorld["GetObjectTile"](param0)
	local myvar_5 = False
		if (nWorld["HasSolidFloor"](myvar_1, myvar_2, myvar_3) == myvar_5) then
		return True
	else
		local myvar_4 = False
		return myvar_4
	end
end

Puddle["IsOnTerrain"] = function_4

function function_7(param0)
	myvar_1,myvar_2,myvar_3 = nWorld["GetObjectTile"](param0)
		if (Puddle["AnyPuddlesOnTile"](myvar_1, (myvar_2 + 1), myvar_3) == True) then
		return True
	end
		if (Puddle["AnyPuddlesOnTile"]((myvar_1 - 1), myvar_2, myvar_3) == True) then
		return True
	end
		if (Puddle["AnyPuddlesOnTile"]((myvar_1 + 1), myvar_2, myvar_3) == True) then
		return True
	end
	local myvar_5 = True
		if (Puddle["AnyPuddlesOnTile"](myvar_1, (myvar_2 - 1), myvar_3) == myvar_5) then
		return True
	end
	local myvar_4 = False
	return myvar_4
end

Puddle["DoesAdjacentPuddleExist"] = function_7

function function_10(param0)
	myvar_1,myvar_2,myvar_3 = nWorld["GetObjectTile"](param0)
		if (Puddle["AnyPuddlesOnTile"](myvar_1, (myvar_2 + 1), myvar_3) == False) then
		return False
	end
		if (Puddle["AnyPuddlesOnTile"]((myvar_1 - 1), myvar_2, myvar_3) == False) then
		return False
	end
		if (Puddle["AnyPuddlesOnTile"]((myvar_1 + 1), myvar_2, myvar_3) == False) then
		return False
	end
	local myvar_5 = False
		if (Puddle["AnyPuddlesOnTile"](myvar_1, (myvar_2 - 1), myvar_3) == myvar_5) then
		return False
	end
	local myvar_4 = True
	return myvar_4
end

Puddle["IsSurroundedByPuddles"] = function_10

function function_13(param0, param1, param2)
	myvar_3 = nWorld["GetObjectsOnTile"](param0, param1, param2)
	for loopvar1, loopvar2 in myvar_3 do 
		if (GetObjectData(loopvar2, ObjData["category"]) == 55) then
		local myvar_8 = True
		return myvar_8
	end
	end
	local myvar_4 = False
	return myvar_4
end

Puddle["AnyPuddlesOnTile"] = function_13

function function_16(param0, param1, param2)
	myvar_3 = nWorld["GetObjectsOnTile"](param0, param1, param2)
	for loopvar1, loopvar2 in myvar_3 do 
	myvar_8 = GetObjectData(loopvar2, ObjData["category"])
		if (myvar_8 == 55) then
		return loopvar2
	end
	end
	return nil
end

Puddle["GetPuddleOnTile"] = function_16

function function_19(param0, param1)
	myvar_2,myvar_3,myvar_4 = nWorld["GetObjectTile"](param0)
	myvar_5 = GetObjectData(param0, ObjData["room"])
	local myvar_8 = 0
	param1 = {}
	local myvar_10 = 8
	local myvar_11 = 1
	for 1=1, myvar_10, myvar_11 do 
	param1[1] = 0
	end
	myvar_10 = myvar_2
	myvar_11 = myvar_3 + 1
	param1 = Puddle["FillArray_FillTile"](myvar_10, myvar_11, myvar_4, param0, param1)
	myvar_10 = myvar_2 - 1
	myvar_11 = myvar_3
	param1 = Puddle["FillArray_FillTile"](myvar_10, myvar_11, myvar_4, param0, param1)
	myvar_10 = myvar_2 + 1
	myvar_11 = myvar_3
	param1 = Puddle["FillArray_FillTile"](myvar_10, myvar_11, myvar_4, param0, param1)
	myvar_10 = myvar_2
	myvar_11 = myvar_3 - 1
	param1 = Puddle["FillArray_FillTile"](myvar_10, myvar_11, myvar_4, param0, param1)
	myvar_10 = myvar_2 - 1
	myvar_11 = myvar_3 + 1
	param1 = Puddle["FillArray_FillTile"](myvar_10, myvar_11, myvar_4, param0, param1)
	myvar_10 = myvar_2 + 1
	myvar_11 = myvar_3 + 1
	param1 = Puddle["FillArray_FillTile"](myvar_10, myvar_11, myvar_4, param0, param1)
	myvar_10 = myvar_2 - 1
	myvar_11 = myvar_3 - 1
	param1 = Puddle["FillArray_FillTile"](myvar_10, myvar_11, myvar_4, param0, param1)
	myvar_10 = myvar_2 + 1
	myvar_11 = myvar_3 - 1
	myvar_9 = Puddle["FillArray_FillTile"](myvar_10, myvar_11, myvar_4, param0, param1)
	param1 = myvar_9
	return param1
end

Puddle["FillArrayWithAdjacentPuddles"] = function_19

function function_22(param0, param1, param2, param3, param4)
	myvar_5 = Puddle["GetPuddleOnTile"](param0, param1, param2)
		if (myvar_5 ~= nil) then
			if (GetObjectAttribute(myvar_5, 11) == 0) then
			myvar_6 = GetObjectData(param3, ObjData["room"])
			myvar_7 = GetObjectData(myvar_5, ObjData["room"])
				if (myvar_7 == myvar_6) then
				myvar_8 = GlobalObjManager["getDirectionToObject"](GlobalObjManager, param3, myvar_5)
				myvar_8 = myvar_8 + 1
				param4[myvar_8] = myvar_5
			end
		end
	end
	return param4
end

Puddle["FillArray_FillTile"] = function_22
